package org.cerberus.platform.internal.components;

import java.awt.Color;
import java.awt.Font;
import java.awt.Image;
import java.io.File;
import java.math.BigDecimal;
import java.net.URI;
import java.net.URL;
import java.util.Date;

import org.cerberus.platform.api.PAttribute;
import org.cerberus.platform.api.PComponent;

@PComponent(classID="test.AttributeComponent")
public class AttributeComponent extends TestComponent {
	
	@PAttribute
	private int intAttribute;
	@PAttribute
	private short shortAttribute;
	@PAttribute
	private long longAttribute;
	@PAttribute
	private double doubleAttribute;
	@PAttribute
	private byte byteAttribute;
	@PAttribute
	private boolean booleanAttribute;
	@PAttribute
	private float floatAttribute;
	@PAttribute
	private char charAttribute;
	@PAttribute
	private Integer integerObjectAttribute;
	@PAttribute
	private Short shortObjectAttribute;
	@PAttribute
	private Long longObjectAttribute;
	@PAttribute
	private Double doubleObjectAttribute;
	@PAttribute
	private Boolean booleanObjectAttribute;
	@PAttribute
	private Float floatObjectAttribute;
	@PAttribute
	private Character characterObjectAttribute;
	@PAttribute
	private String stringAttribute;
	@PAttribute
	private Throwable throwableAttribute;
	@PAttribute
	private Date dateAttribute;
	@PAttribute
	private File fileAttribute;
	@PAttribute
	private URL urlAttribute;
	@PAttribute
	private URI uriAttribute;
	@PAttribute
	private BigDecimal bigDecimalAttribute;
	@PAttribute
	private Number numberAttribute;
	@PAttribute
	private Image imageAttribute;
	@PAttribute
	private Color colorAttribute;
	@PAttribute
	private Font fontAttribute;

	public int getIntAttribute() {
		return intAttribute;
	}

	public short getShortAttribute() {
		return shortAttribute;
	}

	public long getLongAttribute() {
		return longAttribute;
	}

	public double getDoubleAttribute() {
		return doubleAttribute;
	}

	public byte getByteAttribute() {
		return byteAttribute;
	}

	public boolean isBooleanAttribute() {
		return booleanAttribute;
	}

	public float getFloatAttribute() {
		return floatAttribute;
	}

	public char getCharAttribute() {
		return charAttribute;
	}

	public Integer getIntegerObjectAttribute() {
		return integerObjectAttribute;
	}

	public Short getShortObjectAttribute() {
		return shortObjectAttribute;
	}

	public Long getLongObjectAttribute() {
		return longObjectAttribute;
	}

	public Double getDoubleObjectAttribute() {
		return doubleObjectAttribute;
	}

	public Boolean getBooleanObjectAttribute() {
		return booleanObjectAttribute;
	}

	public Float getFloatObjectAttribute() {
		return floatObjectAttribute;
	}

	public Character getCharacterObjectAttribute() {
		return characterObjectAttribute;
	}

	public String getStringAttribute() {
		return stringAttribute;
	}

	public Throwable getThrowableAttribute() {
		return throwableAttribute;
	}

	public Date getDateAttribute() {
		return dateAttribute;
	}

	public File getFileAttribute() {
		return fileAttribute;
	}

	public URL getUrlAttribute() {
		return urlAttribute;
	}

	public URI getUriAttribute() {
		return uriAttribute;
	}

	public BigDecimal getBigDecimalAttribute() {
		return bigDecimalAttribute;
	}

	public Number getNumberAttribute() {
		return numberAttribute;
	}

	public Image getImageAttribute() {
		return imageAttribute;
	}

	public Color getColorAttribute() {
		return colorAttribute;
	}

	public Font getFontAttribute() {
		return fontAttribute;
	}
	
	public void setIntAttribute(int intAttribute) {
		this.intAttribute = intAttribute;
		notifyChange("intAttribute");
	}

	public void setShortAttribute(short shortAttribute) {
		this.shortAttribute = shortAttribute;
		notifyChange("shortAttribute");
	}

	public void setLongAttribute(long longAttribute) {
		this.longAttribute = longAttribute;
		notifyChange("longAttribute");
	}

	public void setDoubleAttribute(double doubleAttribute) {
		this.doubleAttribute = doubleAttribute;
		notifyChange("doubleAttribute");
	}

	public void setByteAttribute(byte byteAttribute) {
		this.byteAttribute = byteAttribute;
		notifyChange("byteAttribute");
	}

	public void setBooleanAttribute(boolean booleanAttribute) {
		this.booleanAttribute = booleanAttribute;
		notifyChange("booleanAttribute");
	}

	public void setFloatAttribute(float floatAttribute) {
		this.floatAttribute = floatAttribute;
		notifyChange("floatAttribute");
	}

	public void setCharAttribute(char charAttribute) {
		this.charAttribute = charAttribute;
		notifyChange("charAttribute");
	}

	public void setIntegerObjectAttribute(Integer integerObjectAttribute) {
		this.integerObjectAttribute = integerObjectAttribute;
		notifyChange("integerObjectAttribute");
	}

	public void setShortObjectAttribute(Short shortObjectAttribute) {
		this.shortObjectAttribute = shortObjectAttribute;
		notifyChange("shortObjectAttribute");
	}

	public void setLongObjectAttribute(Long longObjectAttribute) {
		this.longObjectAttribute = longObjectAttribute;
		notifyChange("longObjectAttribute");
	}

	public void setDoubleObjectAttribute(Double doubleObjectAttribute) {
		this.doubleObjectAttribute = doubleObjectAttribute;
		notifyChange("doubleObjectAttribute");
	}

	public void setBooleanObjectAttribute(Boolean booleanObjectAttribute) {
		this.booleanObjectAttribute = booleanObjectAttribute;
		notifyChange("booleanObjectAttribute");
	}

	public void setFloatObjectAttribute(Float floatObjectAttribute) {
		this.floatObjectAttribute = floatObjectAttribute;
		notifyChange("floatObjectAttribute");
	}

	public void setCharacterObjectAttribute(Character characterObjectAttribute) {
		this.characterObjectAttribute = characterObjectAttribute;
		notifyChange("characterObjectAttribute");
	}

	public void setStringAttribute(String stringAttribute) {
		this.stringAttribute = stringAttribute;
		notifyChange("stringAttribute");
	}

	public void setThrowableAttribute(Throwable throwableAttribute) {
		this.throwableAttribute = throwableAttribute;
		notifyChange("throwableAttribute");
	}

	public void setDateAttribute(Date dateAttribute) {
		this.dateAttribute = dateAttribute;
		notifyChange("dateAttribute");
	}

	public void setFileAttribute(File fileAttribute) {
		this.fileAttribute = fileAttribute;
		notifyChange("fileAttribute");
	}

	public void setUrlAttribute(URL urlAttribute) {
		this.urlAttribute = urlAttribute;
		notifyChange("urlAttribute");
	}

	public void setUriAttribute(URI uriAttribute) {
		this.uriAttribute = uriAttribute;
		notifyChange("uriAttribute");
	}

	public void setBigDecimalAttribute(BigDecimal bigDecimalAttribute) {
		this.bigDecimalAttribute = bigDecimalAttribute;
		notifyChange("bigDecimalAttribute");
	}

	public void setNumberAttribute(Number numberAttribute) {
		this.numberAttribute = numberAttribute;
		notifyChange("numberAttribute");
	}

	public void setImageAttribute(Image imageAttribute) {
		this.imageAttribute = imageAttribute;
		notifyChange("imageAttribute");
	}

	public void setColorAttribute(Color colorAttribute) {
		this.colorAttribute = colorAttribute;
		notifyChange("colorAttribute");
	}

	public void setFontAttribute(Font fontAttribute) {
		this.fontAttribute = fontAttribute;
		notifyChange("fontAttribute");
	}

	
}
